

using Bee.Base.ViewModels;
using Bee.Plugin.Multimedia.Models;

namespace Bee.Plugin.Multimedia.ViewModels;

public partial class VideoTranscodingViewModel : MultimediaViewModelBase<VideoTranscodingArguments>
{
    /// <summary>
    /// 输出格式集合
    /// </summary>
    public IEnumerable<string> OutputFormats => MultimediaProcessConsts.AvailableVideoFormats;
    /// <summary>
    /// 编解码器
    /// </summary>
    public IEnumerable<string> Codecs => MultimediaProcessConsts.AvailableVideoCodecs.Select(x => x.Value);
    /// <summary>
    /// 帧率
    /// </summary>
    public double[] FpsList => [.. MultimediaProcessConsts.AvailableFpsList];
    /// <summary>
    /// 分辨率
    /// </summary>
    public IEnumerable<string> Resolutions => MultimediaProcessConsts.AvailableScaleResolutions;
    /// <summary>
    /// 可用缩放算法
    /// </summary>
    //public IEnumerable<string> ScaleAlgorithms => MultimediaProcessConsts.AvailableScaleAlgorithms.Select(x => x.Value);

    public VideoTranscodingViewModel(TaskListViewModel<VideoTranscodingArguments> taskList) : 
        base(taskList, MultimediaProcessConsts.AvailableVideoFormats)
    {
        
    }
}